class TYPE create
	make
feature
	name : STRING
	is_super_of(t : TYPE) : BOOLEAN is
	local
		s : SUBTYPE
	do
		s ?= t
		Result := Current = t or (s /= Void and then is_super_of(s.super))
	end
	
	make(n : STRING) is
		do
			name := n
		end
end